A timed git-stash that resets automatically
2026-01-25
One-Sentence Summary. git snooze lets you defer local Git changes for a fixed time, and forces them to come back so they can’t be forgotten.
Abstract. git snooze is a small Git tool that temporarily hides local changes for a fixed number of days. Unlike git stash, snoozed changes automatically reappear after their deadline and warn you, making forgotten work impossible.
Keywords. git, productivity, developer-tools, cli, workflow, vibe-coding
git stash is useful.
It’s also a graveyard.
People stash things “for later”… and later never comes.
Changes disappear. Context is lost. Work is forgotten.
That’s not a Git problem. That’s a human workflow problem.
What if stashed work had a timer?
That’s git snooze.
git snooze is a small Git-side tool for
time-based deferral of local changes.
Think of it as:
A timed alternative to
git stashthat resets automatically.
git snooze -l)Tracked files \(\to\) hidden using
git update-index --skip-worktree
Untracked files \(\to\) renamed to
*.Nd.snoozed.* and ignored via
.gitignore
State \(\to\)
stored locally in .git/snooze.db
Automation \(\to\) a pre-commit hook runs
git snooze sweep \(\to\)
expired snoozes are automatically undone \(\to\) a warning is printed to
stdout
No commits. No branches. No magic.
👉 Download:
https://gist.githubusercontent.com/siran/3640fd147e26c88ea9db0dbe01c15d6c/raw/git-snooze.py
curl -fsSL
"https://gist.githubusercontent.com/siran/3640fd147e26c88ea9db0dbe01c15d6c/raw/git-snooze.py"
-o /tmp/git-snooze \ && python3 /tmp/git-snooze install --global \ && rm -f
/tmp/git-snoozeThat’s it.
Installs git-snooze to
~/.local/bin
Sets one alias only:
git snooze → git-snooze
git snooze notes.md
git snooze notes.md 7
git snooze all git snooze all 14
git snooze -u notes.md
git snooze -u allUnsnoozing is idempotent and index-authoritative. Even if metadata is missing, the index is always restored.
git snooze -lOutput is grouped by days remaining, so you can see what’s about to reappear.
On every commit:
git snooze sweep runs automaticallyYou cannot accidentally forget snoozed work.
git snooze all never breaks your setupgit snooze doctor --repair can rebuild metadata if
neededgit snooze uninstall cleans up cleanly (and asks before
deleting state)I kept losing work in git stash.
Not because Git is bad — but because humans forget.
git snooze doesn’t trust memory. It trusts
time.
That’s the whole idea.
👉 Source / download: https://gist.githubusercontent.com/siran/3640fd147e26c88ea9db0dbe01c15d6c/raw/git-snooze.py
✅ 100% vibe-code “certified”! 💯